home *** CD-ROM | disk | FTP | other *** search
/ Borland JBuilder 6 / jbuilder6.iso / IBM VisualAge for Java Enterprise v4.0 Retail / ivj40 / setup / IDE.Cab / F85485_SQLStatement.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-05-09  |  3.6 KB  |  108 lines

  1. package com.ibm.db;
  2.  
  3. import com.ibm.db.base.DatabaseConnection;
  4. import com.ibm.db.base.DatabaseQuerySpec;
  5. import com.ibm.db.base.DatabaseResultTable;
  6. import java.beans.PropertyChangeListener;
  7. import java.beans.PropertyChangeSupport;
  8. import java.sql.SQLException;
  9.  
  10. public class SQLStatement extends Statement {
  11.    protected int fieldNumAffectedRows;
  12.    private static final String copyright = "Licensed Materials -- Property of IBM\n(c) Copyright International Business Machines Corporation, 1998, 2000.\nAll Rights Reserved.\nUS Government Users Restricted Rights -\nUse, duplication or disclosure restricted by\nGSA ADP Schedule Contract with IBM Corp.";
  13.  
  14.    public synchronized void addPropertyChangeListener(PropertyChangeListener var1) {
  15.       this.getPropertyChange().addPropertyChangeListener(var1);
  16.    }
  17.  
  18.    public void cancelExecution() throws DataException {
  19.       if (super.fieldConnection == null) {
  20.          String var4 = Utilities.logMessage(IBMDBMessages.noConnection);
  21.          throw new DataException(var4, 206);
  22.       } else if (!super.executingSQL) {
  23.          String var1 = Utilities.logMessage(IBMDBMessages.notExecuting);
  24.          throw new DataException(var1, 246);
  25.       } else {
  26.          try {
  27.             super.rt.cancel();
  28.          } catch (SQLException var3) {
  29.             Statement.handleSQLException(var3);
  30.          }
  31.  
  32.       }
  33.    }
  34.  
  35.    public void execute() throws DataException {
  36.       Object var3 = null;
  37.       ((Statement)this).fireAboutToExecute(new DataEvent(this));
  38.       if (((Statement)this).connect()) {
  39.          DatabaseConnection var2 = super.fieldConnection.getConnection();
  40.          Integer var4 = new Integer(this.fieldNumAffectedRows);
  41.  
  42.          try {
  43.             DatabaseQuerySpec var26 = new DatabaseQuerySpec(((Statement)this).getMetaData().getDbQuerySpec());
  44.             String var5 = var26.getStatement();
  45.             if (var5.indexOf(58) != -1) {
  46.                var26.setStatement(Statement.replaceHostVars(var5));
  47.             }
  48.  
  49.             super.rt = new DatabaseResultTable(var2, var26, 1003, true);
  50.             super.rt.setTimeout(super.fieldTimeout);
  51.             super.executingSQL = true;
  52.  
  53.             try {
  54.                if (((Statement)this).getParameters() == null) {
  55.                   super.rt.executeUpdate();
  56.                } else {
  57.                   super.rt.executeUpdate(((Statement)this).getParameters());
  58.                }
  59.             } finally {
  60.                super.executingSQL = false;
  61.             }
  62.  
  63.             super.fieldExecuted = true;
  64.             this.fieldNumAffectedRows = super.rt.getUpdateCount();
  65.             this.firePropertyChange("numAffectedRows", var4, new Integer(this.fieldNumAffectedRows));
  66.  
  67.             try {
  68.                super.rt.closeStatement();
  69.             } catch (SQLException var20) {
  70.             } finally {
  71.                super.rt = null;
  72.             }
  73.          } catch (SQLException var23) {
  74.             super.executingSQL = false;
  75.             String var1 = Utilities.logSQLException(var23);
  76.             throw new DataException(var1, var23);
  77.          } catch (com.ibm.db.base.DataException var24) {
  78.             super.executingSQL = false;
  79.             Utilities.logBaseException(var24);
  80.             throw new DataException(((Throwable)var24).getMessage(), var24.getErrorCode());
  81.          } catch (CloneNotSupportedException var25) {
  82.          }
  83.  
  84.          ((Statement)this).fireExecuted(new DataEvent(this));
  85.       }
  86.    }
  87.  
  88.    protected void firePropertyChange(String var1, Object var2, Object var3) {
  89.       this.getPropertyChange().firePropertyChange(var1, var2, var3);
  90.    }
  91.  
  92.    public int getNumAffectedRows() {
  93.       return this.fieldNumAffectedRows;
  94.    }
  95.  
  96.    protected PropertyChangeSupport getPropertyChange() {
  97.       if (super.propertyChange == null) {
  98.          super.propertyChange = new PropertyChangeSupport(this);
  99.       }
  100.  
  101.       return super.propertyChange;
  102.    }
  103.  
  104.    public synchronized void removePropertyChangeListener(PropertyChangeListener var1) {
  105.       this.getPropertyChange().removePropertyChangeListener(var1);
  106.    }
  107. }
  108.